import { join, dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
import fs from 'node:fs'


/**
 * 根据参数中的目录或文件，获取完整目录路径
 * @param {String} src 相对未知
 * @param {String} type 类型 dir: 目录， file: 文件 
 * @param {String} format 格式，type为file才有效 
 * @returns {String}
 */
export function getPath(src, type, format) {
    const __dirname = dirname(fileURLToPath(import.meta.url))
    const file = type == 'dir' ? src : `${src}.${format}`
    const path = join(__dirname, file)
    return path
}

/**
 * 创建文件
 * @param {String} path 完整路径 
 * @returns {Promise}
 */
export function createFile(path, type) {
    const data = { data: type === 'array' ? [] : {} }
    const text = JSON.stringify(data)
    return new Promise((resolve, reject) => {
        fs.writeFile(path, text, err => {
            if(err) {
                reject()
            } else {
                resolve(path)
            }
        })
    })
}